package sdktype

const (
	UUID_LEN      = 16
	MD5_LEN       = 16
	USER_NAME_LEN = 16
	DONAME_LEN    = 64
)

//算法
const (
	UC_ENC_NONE   = 0
	UC_ENC_AES128 = 1
	UC_ENC_XXTEA  = 2
)

//联动状态机状态
const (
	UCLAS_IDLE      = "idle"
	UCLAS_DIS_PROB  = "disprob"
	UCLAS_DISPATCH  = "dispatch"
	UCLAS_AUTH      = "auth"
	UCLAS_ANSWER    = "answer"
	UCLAS_ESTABLISH = "establish"
	UCLAS_ERROR     = "error"
	UCLAS_SLEEP     = "sleep"
	UCLAS_QUIT      = "quit"
)

//tlv类型
const (
	UCT_VERDOR                  = 1
	UCT_LOCAL_TIME              = 2
	UCT_TIME_PARAM              = 3
	UCT_SERVER_PROBE_APP_ID     = 27
	UCT_SERVER_PROBE_VVID       = 28
	UCT_SERVER_PROBE_VENDOR     = 29
	UCT_SERVER_PROBE_DNS        = 30
	UCT_SERVER_PROBE_ERR_DONAME = 31
	UCT_SERVER_PROBE_DEVELOP_ID = 32
)

//命令
const (
	CMD_OK                   = 0
	CMD_FAIL                 = 1
	CMD_ECHO_Q               = 2
	CMD_ECHO_A               = 3
	CMD_AUTH_Q               = 4
	CMD_AUTH_A               = 5
	CMD_AUTH_K               = 6
	CMD_EXCHANG_Q            = 7
	CMD_EXCHANG_A            = 8
	CMD_USER_BIND_Q          = 9
	CMD_USER_BIND_A          = 10
	CMD_USER_AUTH_Q          = 11
	CMD_USER_AUTH_A          = 12
	CMD_USER_AUTH_K          = 13
	CMD_SERVER_Q             = 14
	CMD_SERVER_A             = 15
	CMD_DEV_Q                = 16
	CMD_DEV_A                = 17
	CMD_URL_Q                = 18
	CMD_URL_A                = 19
	CMD_DEV_CONFIG_Q         = 20
	CMD_DEV_CONFIG_A         = 21
	CMD_DEV_STAT_Q           = 22
	CMD_DEV_STAT_A           = 23
	CMD_DEV_STAT_CYCLE       = 24
	CMD_ELECT_MASTER_Q       = 25
	CMD_ELECT_MASTER_A       = 26
	CMD_ELECT_MASTER_C       = 27
	CMD_NICKNAME             = 28
	CMD_PASSWD               = 29
	CMD_LINK_OPTION_Q        = 30
	CMD_LINK_OPTION_A        = 31
	CMD_WEB_AUTH_Q           = 32
	CMD_WEB_AUTH_A           = 33
	CMD_NICKNAME_Q           = 34
	CMD_NICKNAME_A           = 35
	CMD_FTP_Q                = 36
	CMD_FTP_A                = 37
	CMD_YW_SERVER_Q          = 38 /*运维查询服务器请求*/
	CMD_KEEP_DATA            = 39
	CMD_NICKNAME_CONFIRM     = 40 /*修改昵称成功确认命令，服务器内部使用*/
	CMD_NICKNAME_FAIL        = 41 /*修改昵称失败命令，服务器内部使用*/
	CMD_LOAD_USER_INFO       = 42 /*加载用户基本信息*/
	CMD_UDP_KEEP_DATA        = 43
	CMD_UDP_DEV_STAT         = 44
	CMD_SERVICE_DATE_Q       = 45 /*服务套餐查询请求*/
	CMD_SERVICE_DATE_A       = 46 /*服务套餐查询响应*/
	CMD_SERVICE_CHARGE       = 47 /* 服务套餐更新*/
	CMD_URL_HIT_Q            = 48 /*查询URL 命中请求*/
	CMD_URL_HIT_A            = 49 /*查询URL 命中响应*/
	CMD_IPLOCATION_Q         = 50 /*查询客户端IP地址范围*/
	CMD_IPLOCATION_A         = 51 /*dispatcher 查询客户端IP地址范围*/
	CMD_SELLER_LOGIN_Q       = 52 /*销售人员登录认证请求*/
	CMD_SELLER_LOGIN_A       = 53 /*销售人员登录认证应答*/
	CMD_SELLER_USER_Q        = 54 /*用户账号查询请求*/
	CMD_SELLER_USER_A        = 55 /*用户账号查询应答*/
	CMD_SELLER_USER_ADD      = 56 /*添加账号*/
	CMD_SELLER_USER_MODIFY   = 57 /*修改账号*/
	CMD_SELLER_USER_DEL      = 58 /*删除账号*/
	CMD_VEDIO_Q              = 59 /* 请求查看摄像头视频 */
	CMD_VEDIO_A              = 60 /* 摄像头视频信息应答 */
	CMD_SELLER_PWD           = 61 /*修改账号密码*/
	CMD_VIDEO_SYN_Q          = 62
	CMD_VIDEO_SYN_A          = 63
	CMD_VIDEO_HELLO_REQ      = 64
	CMD_VIDEO_HELLO          = 65
	CMD_VIDEO_JPG            = 66
	CMD_VIDEO_ACK            = 67
	CMD_VIDEO_QUALITY        = 68
	CMD_VIDEO_STOP           = 69
	CMD_VEDIO_AGENT_A        = 70
	CMD_VEDIO_AGENT_Q        = 71
	CMD_VEDIO_AGENT_SETUP    = 72
	CMD_MISC_Q               = 73
	CMD_MISC_A               = 74
	CMD_UDP_YW_DISPATCH_Q    = 78  //运维--在分配服务器下-向设备服务器发送-取得设备服务器下详细设备列表
	CMD_LOAD_PACKAGE_LOG_Q   = 79  //查询充值日志
	CMD_LOAD_PACKAGE_LOG_A   = 80  //查询充值日志
	CMD_UDP_YW_DISPATCH_A    = 81  ////运维--在分配服务器下-向设备服务器发送
	CMD_ADD_RC_CARD_Q        = 83  /*添加充值卡请求*/
	CMD_ADD_RC_CARD_A        = 84  /*添加充值卡响应*/
	CMD_MOD_RC_CARD_Q        = 85  /*更新充值卡状态请求*/
	CMD_MOD_RC_CARD_A        = 86  /*更新充值卡状态响应*/
	CMD_DEL_RC_CARD_Q        = 87  /*删除充值卡请求*/
	CMD_DEL_RC_CARD_A        = 88  /*删除充值卡响应*/
	CMD_TRANS_RC_CARD_Q      = 89  /*转移充值卡请求*/
	CMD_TRANS_RC_CARD_A      = 90  /*转移充值卡响应*/
	CMD_QUERY_RC_CARD_Q      = 91  /*查询充值卡状态请求*/
	CMD_QUERY_RC_CARD_A      = 92  /*查询充值卡状态响应*/
	CMD_CARD_CHARGE_Q        = 93  /*充值请求*/
	CMD_CARD_CHARGE_A        = 94  /*充值响应*/
	CMD_DEV_CHARGE           = 95  /*充值成功同步通知命令*/
	CMD_YW_SERVER_A          = 96  /*运维查询服务器响应*/
	CMD_VEDIO_AGENT_OK       = 97  /*代理成功*/
	CMD_ADD_CARD_TYPE_Q      = 98  /*添加卡类型请求*/
	CMD_ADD_CARD_TYPE_A      = 99  /*添加卡类型响应*/
	CMD_QUERY_CARD_TYPE_Q    = 100 /*查询卡类型请求*/
	CMD_QUERY_CARD_TYPE_A    = 101 /*查询卡类型响应*/
	CMD_QUERY_USER_PWD_Q     = 102 /*取得当前登录DEV密码*/
	CMD_CARD_CHARGE_SYN_Q    = 103 /*充值信息同步请求*/
	CMD_CARD_CHARGE_SYN_A    = 104 /*充值信息同步应答*/
	CMD_CARD_TYPE_SYN_Q      = 105 /*充值卡类型同步请求*/
	CMD_CARD_TYPE_SYN_A      = 106 /*充值卡类型同步应答*/
	CMD_CARD_STATUS_SYN_Q    = 107 /*充值卡状态同步请求*/
	CMD_CARD_STATUS_SYN_A    = 108 /*充值卡状态同步应答*/
	CMD_DEV_CHARGE_CONFIRM   = 109 /*充值成功同步通知确认命令*/
	CMD_YW_DEVSERVER_Q       = 110 /*运维管理--设备服务器查询*/
	CMD_YW_DEVSERVER_A       = 111 /*运维管理--设备服务器查询*/
	CMD_BIND                 = 112 /* 主从设备命令 */
	CMD_SET_NAME             = 113 /* 主从设备命令 */
	CMD_MS_CTRL              = 114 /* 主从设备命令，服务器不需要处理 */
	CMD_VIDEO_ROLL           = 115 /* 控制云台转动 */
	CMD_FM_CONFIG_Q          = 116 /*配置家庭测量人员请求*/
	CMD_FM_CONFIG_A          = 117 /*配置家庭测量人员响应*/
	CMD_FM_Q                 = 118 /*查询家庭测量人员请求*/
	CMD_FM_A                 = 119 /*查询家庭测量人员响应*/
	CMD_MESURE_TRANS         = 120 /*传输测量结果*/
	CMD_MESURE_Q             = 121 /*查询测量结果请求*/
	CMD_MESURE_A             = 122 /*查询测量结果响应*/
	CMD_MESURE_DEL           = 123 /*删除测量结果*/
	CMD_MESURE_TRANS_CONFIRM = 124 /*设备服务器间同步测量数据确认*/
	CMD_PLUG_TIMER_Q         = 125 /* 定时开关的请求 */
	CMD_PLUG_TIMER_A         = 126 /* 定时开关的回应 */
	CMD_USER_DEBUG           = 127 /*手机上传调试信息*/
	CMD_IR_LIST              = 128 /*手机请求支持列表*/
	CMD_IR_CONFIG            = 129 /*手机配置和获取已配置家电*/
	CMD_IR_DB                = 130 /*设备从服务器获取编码库*/
	CMD_IR_URL               = 131 /*设备获取电器遥控列表的URL */
	CMD_IR_CTRL              = 132 /* 手机测试红外编码库是有有效 */
	CMD_REMOTE_CONFIG        = 133 /* CMD_REMOTE_CONFIG */
	CMD_REMOTE_KEY_CONFIG    = 134 /* 手机为家庭电器配置一个按键 */
	CMD_REMOTE_CODE          = 135 /* 手机为按键配置一个编码 */
	CMD_REMOTE_CTRL          = 136 /* 手机向家庭电器发送控制命令 */
	CMD_REMOTE_STATE         = 137 /* 手机对单个电器状态的操作 */
	CMD_VIDEO_TEMP_QUALITY   = 138 /* 用于云台控制时，临时调试画质，不保存配置 */
	CMD_VIDEO_RECOR_CTRL     = 139 /*设备端本地录像命令------已经取消此报文*/
	CMD_ALARM_BIND_PHONE     = 140 /*报警短信绑定手机*/
	CMD_ALARM_MSG            = 141 /*报警信息发送请求*/
	CMD_FAIL_EX              = 142 /* cmd_fail扩展命令 */
	CMD_ALARM_CONFIG_PHONE   = 143
	CMD_SLAVE_HIS            = 144 /*从设备通告视屏信息给主设备*/
	CMD_GET_CMDOK            = 145 /* 设备端向服务器查询手机认证成功后需要的相关信息 */
	CMD_ALARM_LOG            = 146 /*报警日志相关操作*/
	CMD_ALARM_LOG_SYNC       = 147 /*报警日志的同步*/
	CMD_TIME_SYNC            = 148 /*设备向手机查询时间同步*/
	CMD_VTAP_LIST_Q          = 149 /*查询设备录像列表*/
	CMD_VTAP_LIST_A          = 150 /*响应设备录像列表的查询*/
	CMD_VTAP_Q               = 151 /*请求设备录像文件*/
	CMD_VTAP_KEEP            = 152 /*录像观看保活*/
	CMD_VTAP_A               = 153 /*录像请求结果*/
	CMD_VTAP_TIMESTAP        = 154 /*请求播放指定时戳*/

	CMD_REMOTE_BROADCAST        = 155 /* 广播控制命令给从设备 */
	CMD_VIDEO_SONIX             = 156 /*对sonix 设置*/
	CMD_REC_TIMER_Q             = 157 /* 视频录制定时开关的请求 */
	CMD_REC_TIMER_A             = 158 /* 视频录制定时开关的回应 */
	CMD_VIDEO_CONTROL_ALARM_CFG = 159 /*侦测报警配置信息*/
	CMD_MS_DEV_INFO             = 160 /*主从设备通信告知相互的版本，时区，支持的功能 */

	CMD_DEV_SAHRD_INFO           = 161 /*设备共享命令，请求与响应相同*/
	CMD_DEV_SAHRD_COUNT          = 162 /*设备分享次数增加命令*/
	CMD_OPEN_TELNET              = 163 /*开启从设备telnet服务*/
	CMD_ALARM_SWITCH_CTL         = 164 /*安防报警总开关控制*/
	CMD_VTAP_END                 = 165 /*设备通知客户端，录像播放完毕*/
	CMD_VIDEO_QUALITY_V2         = 166 /* 自定义分辨率设置 */
	CMD_PLUG_ELECTRIC_STAT       = 167 /*电量统计功能支持查询命令*/
	CMD_SCENE_CONFIG             = 168 /*情景模式操作命令*/
	CMD_OPT_SCAN_Q               = 169 /*扫描刷机设备请求*/
	CMD_OPT_SCAN_A               = 170 /*扫描刷机设备响应*/
	CMD_DEV_REG_Q                = 171 /*刷机设备注册请求*/
	CMD_DEV_REG_A                = 172 /*刷机设备注册响应*/
	CMD_ARIA2C_Q                 = 173 /*aria2c控制请求*/
	CMD_ARIA2C_A                 = 174 /*aria2c控制响应*/
	CMD_NETWORK_DETECT_Q         = 175 /* 视频网络探测请求包 */
	CMD_NETWORK_DETECT_A         = 176 /* 视频网络探测响应包 */
	CMD_SSIDPW                   = 177 /*手机修改设备wifi SSID和密码*/
	CMD_DEVSERVER_LIST_Q         = 178 /*获取设备服务器列表请求*/
	CMD_DEVSERVER_LIST_A         = 179 /*获取设备服务器列表响应*/
	CMD_NET_PROBE_Q              = 180 /*设备到服务器网络探测请求*/
	CMD_NET_PROBE_A              = 181 /*设备到服务器网络探测响应*/
	CMD_LOCATION_Q               = 182 /*设备位置请求*/
	CMD_LOCATION_A               = 183 /*设备位置响应*/
	CMD_MACDENY                  = 184 /*添加wifi mac禁止列表*/
	CMD_MACALLOW                 = 185 /*删除wifi mac禁止列表*/
	CMD_BIND_SLAVE_INFO          = 186 /*获取从设备绑定信息*/
	CMD_MASTER_SLAVE_CTRL        = 187 /*主从之间的控制命令，不通过服务器*/
	CMD_REBOOT                   = 188 /*远程重启命令*/
	CMD_AREA_CONFIG              = 189 /*区域操作命令*/
	CMD_STATIC_PIC_Q             = 190 /*最近静态图片请求*/
	CMD_STATIC_PIC_A             = 191 /*最近静态图片响应*/
	CMD_POSITION_Q               = 192 /*定位信息请求*/
	CMD_POSITION_A               = 193 /*定位信息响应*/
	CMD_SPEED_MAX_Q              = 194 /*限速阀值请求*/
	CMD_SPEED_MAX_A              = 195 /*限速阀值响应*/
	CMD_SCHLBUS_BIND             = 196 /*校车绑定*/
	CMD_VOICE                    = 197
	CMD_VOICE_ACK                = 198
	CMD_SPEEK_Q                  = 199
	CMD_SPEEK_A                  = 200
	CMD_VOICE_REG                = 201
	CMD_REMOTE_CODE_UPLOAD       = 202 /*上传本地设备学习到的控制编码到服务器*/
	CMD_RECORD_QUALITY_V2        = 203 /*录像质量配置*/
	CMD_NOTIFY_HELLO             = 204 /* 设备与小区服务器握手请求 */
	CMD_NOTIFY_HELLO_ACK         = 205 /* 设备与小区服务器握手响应 */
	CMD_NOTIFY                   = 206 /* 消息推送命令，如报警、健康、公告 */
	CMD_NOTIFY_RESULT            = 207 /* 消息推送应答 */
	CMD_NOTIFY_EXPECT            = 208 /* 消息ID 同步命令*/
	CMD_NOTIFY_CENTER_LIST       = 209 /* 小区服务器把自己ip/port上报给服务器，服务器推送给设备*/
	CMD_CMT_OP_DEVICE            = 210 /* 对小区所管理的设备进行操作，如添加。参数net_cmt_op_device_t*/
	CMD_VOICE_PROMPT             = 211 /* 播放本地音乐文件 */
	CMD_REMOTE_BD_BIND           = 212 /* 双向RF协议绑定解绑定 */
	CMD_REMOTE_CONFIG_SOUNDLIGHT = 213 /* 配置安防报警器关联的声光报警器 */
	CMD_REMOTE_TD_CODE           = 214 /* 电器二维码添加 */
	CMD_PHONE_BIND_Q             = 215 /*绑定手机申请提交，参数net_phone_bind_t*/
	CMD_PHONE_REQUESTLIST_Q      = 216 /*绑定手机申请列表查询*/
	CMD_PHONE_REQUESTLIST_A      = 217 /*绑定手机申请列表响应，参数net_phone_bind_list_t*/
	CMD_PHONE_BIND_OPERATION     = 218 /*已绑定手机对绑定申请操作，参数net_phone_bind_operation_t*/
	CMD_PHONE_BIND_RESULT        = 219 /*已绑定手机对绑定申请操作结果，参数net_phone_bind_result_t*/
	CMD_PHONE_BIND_DEL           = 220 /*删除绑定手机，net_phone_bind_uuid_t*/
	CMD_PHONE_UNBINDLOGIN_ALLOW  = 221 /*允许未绑定手机登录*/
	CMD_PHONE_UNBINDLOGIN_DENY   = 222 /*禁止未绑定手机登录*/
	CMD_PHONE_BINDLIST_Q         = 223 /*绑定手机列表查询请求*/
	CMD_PHONE_BINDLIST_A         = 224 /*绑定手机列表查询响应，参数net_phone_bind_list_t*/
	CMD_SCENE_TIMER_Q            = 225 /*配置情景模式的定时器请求命令*/
	CMD_SCENE_TIMER_A            = 226 /*配置情景模式的定时器的应答命令*/
	CMD_SCENE_LINKAGE            = 227 /* 联动情景配置命令 */
	CMD_PHONE_APN_OPERATION      = 228 /*配置手机推送命令，参数net_phone_push_t*/
	CMD_STATIC_PIC_Q_V2          = 229 /*第二版本最近静态图片请求*/
	CMD_STATIC_PIC_A_V2          = 230 /*第二版本最近静态图片响应*/
	CMD_REMOTE_VTY               = 231 /* 启动远程telnetd服务 */
	CMD_IA                       = 232 /* 智能家居单品控制和查询 */
	CMD_NEWUPVER_Q               = 233 /*手机获取设备最新升级版本请求*/
	CMD_NEWUPVER_A               = 234 /*手机获取设备最新升级版本应答*/
	CMD_SET_NEWUPVER             = 235 /*手机设置设备升级版本*/
	CMD_NOTICE_DEVUP             = 236 /*手机通知设备立即升级*/
	CMD_V4L2_COLOR               = 237 /* v4l2 color参数查询和控制 */
	CMD_NOTIFY_QUERY             = 238 /* 查询推送消息请求，参数net_notify_query_t，响应CMD_NOTIFY */
	CMD_MOTO_ATTRIBUTE           = 239 /* IPC云台属性相关命令 */
	CMD_MOTO_PRE_POSITION        = 240 /* IPC云台预置位命令 */
	CMD_MOTO_CRUISE              = 241 /* IPC云台巡航命令 */
	CMD_UDP_AUTH                 = 242
	CMD_UDP_KEEPLIVE             = 243
	CMD_UDP_CTRL                 = 244
	CMD_UDP_NOTIFY               = 245
	CMD_UDP_BIND_PHONE           = 246
	CMD_RF2_CTRL                 = 247
	CMD_CLOUD_MATCH              = 248 /* 客户端和设备进行云匹配交互的报文 */
	CMD_CLOUD_MATCH_RESULT       = 249 /* 客户端向服务器请求云匹配结果 */
	CMD_CLOUD_AC_LIB_INFO        = 250 /* 设备向服务器获取云空调编码摘要部分 */
	CMD_CLOUD_AC_LIB_DATA        = 251 /* 设备向服务器获取云空调编码数据部分 */
	CMD_805_CONFIG               = 254 /*805点阵屏和蜂鸣器控制*/
	CMD_UDP_APP_REPORT_RUNENV    = 256
	CMD_UDP_APP_REPORT_ERROR     = 257
	CMD_APP_SERVER_DISP          = 258
	CMD_UDP_APP_REPORT_HABIT     = 259
	CMD_SHARE_REGISTER           = 260
	CMD_APP_USER                 = 261 /*手机用户注册、认证*/
	CMD_HOME_CONFIG              = 262 /*家庭配置*/
	CMD_HOME_SHARE               = 263 /*家庭分享、成员管理*/
	CMD_LINKAGE_CONFIG           = 264 /*联动配置*/
	CMD_TLV_UDP_CTRL             = 265 /* 仿造CMD_UDP_CTRL 只是内容变成TLV方式*/
	CMD_PUSH_NOTIFY              = 266 /*服务器通知命令*/

	CMD_HOME_LABEL      = 268 /*家庭标签命令*/
	CMD_HOME_DICTIONARY = 269 /*字典*/

	CMD_UDP_DNS_PROB         = 301 /* 根据设备ip地址获取多国服务器域名 */
	CMD_APP_DEV_USER         = 302 // APP客户的和WIFI设备通道
	CMD_APP_LINKAGE_USER     = 303 // APP和联动服务器
	CMD_SERVER_WIFI_DEV_USER = 304 // 服务器和WIFI设备通道
	CMD_SERVER_RF_DEV_USER   = 305 // 服务器和RF设备通道
	CMD_UDP_DONAME_PROB      = 306 /* app探测多国服务器域名 或者最快服务器命令，服务器不好搞，单独设置命令*/
	//307服务器用了
	CMD_QUERY_HISTORY     = 308 /*日志查询命令*/
	CMD_WIDGET_KEY        = 309 /* 获取WIDGET秘钥命令 */
	CMD_LA_BIND_PHONEMAIL = 310 /* 联动绑定邮箱或者手机号 */

	CMD_DEVICE_ALARM = 311 /* 设备透传的报警信息 */

	CMD_APP_ICE = 411 /*专用于app与udpserver之间的报文交互，头部不能加密*/
	CMD_MAX
)

//tp设备类型
const (
	TP_CENTER        = 0 /*生产中心*/
	TP_DISPATCHER    = 1 /*分配服务器*/
	TP_DEV_SRV       = 2 /*设备服务器*/
	TP_WEB_SRV       = 3 /*web服务器*/
	TP_USER          = 4 /*手机或流量器用户*/
	TP_DS007         = 5 /* DS007设备*/
	TP_CHARGE_SRV    = 6 /* 充值服务器 */
	TP_CHARGE_CLI_RO = 7 /* 充值客户端，只读 */
	TP_CHARGE_CLI_WR = 8 /* 充值客户端，读写  */
	TP_MAX
)

//协议版本
const (
	PROTO_VER1 = 1
	PROTO_VER2 = 2
	/* further version add here */
)

//错误号
const (
	ERR_NONE                     = 0
	ERR_SN_INVALID               = 1  /*DS007序列号无效*/
	ERR_NICKNAME_INVALID         = 2  /*用户昵称无效*/
	ERR_PASSWD_INVALID           = 3  /*用户口令错误*/
	ERR_CMD_INVALID              = 4  /* 无效命令*/
	ERR_PARAM_INVALID            = 5  /*无效参数*/
	ERR_MEMORY                   = 6  /*服务器内部分配内存失败*/
	ERR_SYSTEM                   = 7  /*服务器内部系统还是调用失败*/
	ERR_NICKNAME_CONFLICT        = 8  /*昵称冲突*/
	ERR_NICKNAME_TOO_LONG        = 9  /*昵称过长*/
	ERR_EMAIL_TOO_LONG           = 10 /*email地址过长*/
	ERR_DATABASE                 = 11 /*数据库操作失败*/
	ERR_CLIENT_VER               = 12 /*手机客户端版本过低*/
	ERR_DEV_OFFLINE              = 13 /* 设备离线 */
	ERR_VEDIO_OFF                = 14 /* 未插入摄像头 */
	ERR_DEV_SYS_ERR              = 15 /* 设备系统错误 */
	ERR_SELLER_NAME_CONFLICT     = 16 /*销售人员用户名冲突*/
	ERR_TOO_MANY                 = 17 /* 太多人在观看视频了 */
	ERR_PACKAGE_NAME_CONFLICT    = 18 /* 太多人在观看视频了 */
	ERR_OUT_SERVICE              = 19 /* 服务到期 */
	ERR_CARD_SN_INVALID          = 20 /*充值卡序列号无效*/
	ERR_CARD_PWD_INVALID         = 21 /*充值卡密码无效*/
	ERR_CARD_STATE_INVALID       = 22 /*充值卡状态无效*/
	ERR_CARD_NOTIME_TRANS        = 23 /*设备无服务期限可转移*/
	ERR_TIMEOUT                  = 24 /*超时失败*/
	ERR_AGENT                    = 25 /* 代理失败*/
	ERR_EMAIL_INVALID            = 26 /*email地址无效*/
	ERR_FM_ID                    = 27 /* 家庭成员ID无效 */
	ERR_FM_LIMIT                 = 28 /* 家庭成员配置过多 */
	ERR_DEV_SYS_BUSY             = 29 /* 系统忙，可能正在升级系统 */
	ERR_PLUG_TIMER_LIMIT         = 30 /* 定时开关策略配置个数已达到最大 */
	ERR_PLUG_TIMER_ID            = 31 /* 定时开关策略ID无效 */
	ERR_REMOTE_LIMIT             = 32 /* 可控制电器配置已达最大数量 */
	ERR_IR_DB_INVALID            = 33 /* 红外编码库错误 */
	ERR_REMOTE_BUTTON_LIMIT      = 34 /* 可控电器按键达到上限 */
	ERR_REMOTE_ID_INVALID        = 35 /* 可控电器ID无效 */
	ERR_REMOTE_KEY_ID_INVALID    = 36 /* 可控电器KEY ID无效 */
	ERR_REMOTE_BUSY              = 37 /* 电器正忙，比如处于学习状态 */
	ERR_REMOTE_KEY_VALID         = 38 /* 电器按钮无效 */
	ERR_REMOTE_CODE_LEARN_FAILED = 39 /*学习失败*/
	ERR_PHONE_NUM_EXCESS         = 40 /*超出支持的最大电话绑定数*/
	ERR_NO_BIND_PHONE            = 41 /*该智能网关尚未绑定手机*/
	ERR_DEV_UNLINK               = 42 /*设备未连接设备服务器*/
	ERR_ALARM_PHONE_NOT_FOUNT    = 43 /*绑定的报警手机号不存在*/
	ERR_ALARM_VIDEO_NOT_FOUNT    = 44 /*没有指定的报警录像*/
	ERR_ALARM_LOG                = 45 /*报警日志操作出错*/
	ERR_ALARM_LOG_SYNC           = 46 /*报警日志同步出错*/
	ERR_REC_TIMER_LIMIT          = 47 /*视频录制定时器:已经达到策略最大可配置数*/
	ERR_REC_TIMER_OPT            = 48 /*视频录制定时器:操作失败*/
	ERR_REC_TIMER_ID             = 49 /*视频录制定时器:定时器id无效*/
	ERR_REC_TIMER_NTP            = 50 /*ntp 未同步 添加失败*/
	ERR_REC_TIMER_DURATION       = 51 /*时长太短*/
	ERR_NO_VTAP                  = 52 /*没有视频录像文件*/
	ERR_SLAVE_OFFLINE            = 53 /* 从设备离线 */
	ERR_DPI_FOR_PHONE            = 54 /* 手机在线不支持大分辨率、帧率的配置 */
	ERR_CODE_ADJUST              = 55 /* 对应编码不支持微调 */
	ERR_VTAP_CLIENT_EXCEED       = 56 /*观看录像的人太多了，同时只能有1个人看*/
	ERR_VTAP_DAMAGE              = 57 /*录像文件损坏*/
	ERR_SCENE_VERSION            = 58 /*版本儿不匹配*/
	ERR_SCENE_ID                 = 59 /*非法场景id*/
	ERR_SCENE_FAIL               = 60 /*执行失败*/
	ERR_SCENE_ACTION             = 61 /*操作非法*/
	ERR_SCENE_ID_MAX             = 62 /*场景id已达上限*/
	ERR_SCENE_BUSY               = 63 /*执行忙*/
	ERR_AREA_VERSION             = 64 /*区域版本儿不匹配*/
	ERR_AREA_ID                  = 65 /*非法区域id*/
	ERR_AREA_FAIL                = 66 /*操作失败*/
	ERR_AREA_ACTION              = 67 /*操作非法*/
	ERR_AREA_ID_MAX              = 68 /*区域id已达上限*/
	ERR_AREA_ERR_OBJTYPE         = 69 /*错误的对象类型*/
	ERR_NO_SD_DETECTED           = 70 /* 没有存储设备插入 */
	ERR_NOT_SUPPORT              = 71 /*设备不支持*/
	ERR_BUSY                     = 72 /*正与其他人通话*/
	ERR_REMOTE_NOT_SUPPORT       = 73 /*本设备不支持电器控制也许是从设备支持*/
	ERR_TF_NOT_INSERT            = 74 /*TF卡未插入*/
	ERR_REMOTE_INVALID_TD        = 75 /* 添加电器未知的二维码信息 */
	ERR_UNBIND                   = 76 /*非绑定用户禁止登录*/
	ERR_BIND_FULL                = 77 /*达到绑定数量限制，不能申请绑定了*/
	ERR_BINDLATE                 = 78 /*已经有人对绑定申请进行处理了*/
	ERR_SCENE_TIMER_LIMIT        = 79 /*情景模式定时器操作最大数*/
	ERR_SCENE_TIMER_ID           = 80 /*情景模式定时器的ID号不对*/
	ERR_SCENE_INVALID_ID         = 81 /* 场景联动时无效的场景ID */
	ERR_SCENE_INVALID_REMOTE_ID  = 82 /* 场景联动时无效的电器ID */
	ERR_UNBIND_WITH_DEV_OFFLINE  = 83 /*未绑定登录失败，且设备离线，不要提示用户申请绑定*/
	ERR_DUPLICATE_REMOTE_CODE    = 84 /* 重复添加按键编码 */
	ERR_IA_NOT_READY             = 85 /*智能单品没初始化*/
	ERR_IA_OPERATE_INVALID       = 86 /*智能单品操作无效*/
	ERR_UPGRADE_VER_EMPTY        = 87 /*手机查询设备最新升级信息为空*/

	ERR_NEED_ENCRPYT             = 88  /* 需要加密，却无法协商出一样的加密算法 */
	ERR_CLONE                    = 89  /* 设备是克隆机 */
	ERR_WAIT_IR_TIMEOUT          = 90  /* 云匹配时候等待红外超时 */
	ERR_CLOUD_MATCH_FAILED       = 91  /* 云匹配失败 */
	ERR_CLOUD_LIB_TIMEOUT        = 92  /* 从服务器获取编码失败 */
	ERR_CLOUD_NOT_READY          = 93  /* 服务器没有连接上 */
	ERR_CLOUD_MATCHING           = 94  /* 云匹配正在进行 */
	ERR_CLOUD_LIB_MISSING        = 95  /* 查询的编码库ID不存在 */
	ERR_CLOUD_LIB_SET            = 96  /* 设置云电器编码库失败 */
	ERR_SHORTCUT_ONOFF_UTC_PAST  = 97  /* 快捷开关因为手机时间问题设置失败 */
	ERR_SOFT_VER_LOW             = 99  /* 手机版本过低 */
	ERR_OLD_EXPLICT              = 100 /*表示是服务器迁移手机账号*/
	ERR_USER_EXIST               = 102 /*用户已存在*/
	ERR_COMPATIBILITY_PROTECTION = 103 /*前后版本兼容性错误，比如新版本设备向老版本手机回复消息*/
	ERR_FILE_INVALID             = 103 /* 无效文件 */
	ERR_BIND_NOT_AUTH            = 104 /* 绑定失败！请将设备连接互联网以获取授权 */
	ERR_BIND_MAX_LIMIT           = 105 /* 绑定失败！已绑定设备数量已达到极限，请购买更高型号网关以支持更多设备 */
	ERR_QSWIR_LEARNING           = 106 /* 全盛威红外设备学习中 */
	ERR_APP_NOT_AUTH             = 109 /* APP未授权 */

	ERR_MAX /* 请在此之前添加错误码 */
)

//action命令
const (
	UCAU_NONE                 = 0
	UCAU_HELLO                = 1
	UCAU_CREATE               = 2
	UCAU_AUTH                 = 3
	UCAU_QUESTION             = 4
	UCAU_ANSWER               = 5
	UCAU_RESULT               = 6
	UCAU_DELETE               = 7
	UCAU_ADDDEV               = 8
	UCAU_REMOVEDEV            = 9
	UCAU_QUERY                = 10
	UCAU_EVENT                = 11
	UCAU_TEMPLATE             = 12
	UCAU_RULELIST             = 13
	UCAU_RULEADD              = 14
	UCAU_RULEREMOVE           = 15
	UCAU_REGISTER             = 16
	UCAU_EDIT                 = 17
	UCAU_RESET                = 18
	UCAU_REQUEST              = 19
	UCAU_REPLY                = 20
	UCAU_EXEC                 = 21
	UCAU_MOVE                 = 22
	UCAU_MODIFY               = 23
	UCAU_HOME_NAME_MODIFY     = 24
	UCAU_RULELIST_PUSH        = 25
	UCAU_SERVER_SET           = 26
	UCAU_SERVER_QUERY         = 27
	UCAU_USER_REPLACE         = 28
	UCAU_SERVER_NOTIFY        = 29
	UCAU_TABLE_QUERY          = 30
	UCAU_TABLE_PUSH           = 31
	UCAU_MISC_QUERY           = 32
	UCAU_CAPFILE              = 33
	UCAU_MISC_SET             = 34
	UCAU_QUERY2               = 35
	UCAU_USER_ADD_HOME        = 36
	UCAU_LABEL_BIND           = 37
	UCAU_HOME_SHORTCUT        = 38
	UCAU_HOME_SHORTCUTDEL     = 39
	UCAU_HOME_SHORTQUERY      = 40
	UCAU_HOME_SHORTCUTMODIFY  = 41
	UCAU_HOME_LAST_RULE_TIME  = 42
	UCAU_HOME_RULE_EXCUTE     = 43
	UCAU_CUSTOM_CAPFILE       = 44
	UCAU_GET_VARIFYCODE       = 45
	UCAU_AUTH_VERIFYCODE      = 46
	UCAU_BIND_EMAIL_QUERY     = 47
	UCAU_UNBIND_EMAIL         = 48
	UCAU_HOME_SHORTCUT_QUERY2 = 49
	UCAU_USER_MTU             = 50
	UCAU_SET_APPROVAL         = 65
	UCAU_HOME_HIS             = 66
	UCAU_HOME_MASTER_SET      = 67
	UCAU_USER_CREATE_EXT      = 68
	UCAU_USER_NICKNAME        = 69
	UCAU_USER_ROLEID          = 70
	UCAU_SAFE_ADDDEV          = 74
	UCAU_PHONE_BIND           = 75
	UCAT_RULEID_PREALLOC      = 76
)

//联动result tlv t
const (
	UCLA_RESULT_TLV_USERID           = 1
	UCLA_RESULT_TLV_LASTTIME         = 2
	UCLA_RESULT_LLV_TIME_PARAM       = 3
	UCLA_RESULT_TLV_SUPPORT_TABEL    = 4
	UCLA_RESULT_TLV_SUPPORT_TRANS    = 5
	UCLA_RESULT_TLV_SUPPORT_SHORTCUT = 6
	UCLA_SERVER_TLV_SUPPORT_COMPRESS = 7
	UCLA_SERVER_TLV_WIDGET_KEY       = 8
	UCLA_RESULT_TLV_NICKNAME         = 9
	UCLA_RESULT_TLV_ROLEID           = 10
	UCLA_RESULT_TLV_IDENTITY         = 11
)

//联动answer tlv
const (
	UCLA_ANSWER_TLV_VER           = 1
	UCLA_APP_TLV_SUPPORT_COMPRESS = 2
	UCLA_DEVELOPER_ID             = 3
	UCLA_ANSWER_TLV_APPID         = 4
	UCLA_ANSWER_TLV_FRAG          = 5
)

//数据结构
//发包延时重发延时结构
type Uc_time_param_item_t struct {
	Retry_100ms [3]uint8
	Keeplive    uint8
	Die         uint16
}
